Memory devices are typically provided as internal, semiconductor, integrated circuits and/or external removable devices in computers or other electronic devices. There are many different types of memory including volatile and non-volatile memory. Volatile memory can require power to maintain its data and can include random-access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and synchronous dynamic random access memory (SDRAM), among others. Non-volatile memory can retain stored data when not powered and can include NAND flash memory, NOR flash memory, phase change random access memory (PCRAM), resistive random access memory (RRAM), and magnetic random access memory (MRAM), among others.
A memory device can include a cache memory that may be smaller and/or faster than the other memory of the device (which may be referred to as main memory). As an example, cache memory may comprise DRAM, and main memory may comprise DRAM, NAND or NOR flash memory, disk storage, or solid state drives (SSD). A memory device may utilize cache memory to cache data, which may improve the speed and/or performance of the memory device.
Controllers for existing memory devices, such as, for instance, existing DRAM devices with a multiple array (e.g., multiple bank) architecture, may issue commands, such as program (e.g., write) and sense (e.g., read) commands, having deterministic (e.g., fixed) access times associated therewith, so that the controller can know when the execution of a command is complete and a new command can be issued. However, such a deterministic access timing scheme may not be compatible with memory devices that include cache memory, because the amount of time to execute a command (or group of commands) may vary (e.g., may not be fixed), depending on whether the command ends up being executed on the cache or the main memory.